'''
创建链表:
    头插法:
        最终链表是倒序
    尾插法:
        最终链表是正序
'''

class Node:
    def __init__(self,item):
        self.item = item
        self.next = None

def creat_linklist_head(li):
    head = Node(li[0])
    for element in li[1:]:
        node = Node(element)
        node.next = head   # 从头部新插入的节点的next指针指向原头部节点
        head = node  # 插入后的新的头部指针指向新插入的结点node
    return head

def creat_linklist_tail(li):
    head = Node(li[0])
    tail = head   # 如果写成`tail = Node(li[0])`，那么就会创建另一个新的节点，它的值和头节点相同，但它是一个独立的节点，与head指向的节点不是同一个。
    for element in li[1:]:
        node = Node(element)
        tail.next = node
        tail = node
    return head

def print_linklist(lk):
    while lk:
        print(lk.item,end=',')
        lk = lk.next

# lk = creat_linklist_head([1,2,3])
# print(lk.item)
# print(lk.next)
# print(lk.next.item)
lk1 = creat_linklist_tail([1,2,3,4,5,6])
# print_linklist(lk)
print(lk1.item)
print(lk1.next.item)
print_linklist(lk1)